﻿using System;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.InteropServices;
using Teigha.Core;

namespace Teigha.TD
{
	public class OdDbDwgFiler : OdDbFiler
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdDbDwgFiler(IntPtr cPtr, bool cMemoryOwn) : base(TD_DbPINVOKE.OdDbDwgFiler_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdDbDwgFiler obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdDbDwgFiler()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							TD_DbPINVOKE.delete_OdDbDwgFiler(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public OdDbDwgFiler() : this(TD_DbPINVOKE.new_OdDbDwgFiler(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
		{
			MemoryTransaction currentTransaction = MemoryManager.GetMemoryManager().GetCurrentTransaction();
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbDwgFiler(this.swigCPtr.Handle, true));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			this.SwigDirectorConnect();
		}

		public new static OdDbDwgFiler cast(OdRxObject pObj)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbDwgFiler_cast(OdRxObject.getCPtr(pObj));
			OdDbDwgFiler result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdRxClass desc()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbDwgFiler_desc(), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxClass isA()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("isA", OdDbDwgFiler.swigMethodTypes1) ? TD_DbPINVOKE.OdDbDwgFiler_isASwigExplicitOdDbDwgFiler(this.swigCPtr) : TD_DbPINVOKE.OdDbDwgFiler_isA(this.swigCPtr), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxObject queryX(OdRxClass protocolClass)
		{
			OdRxObject result = Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("queryX", OdDbDwgFiler.swigMethodTypes0) ? TD_DbPINVOKE.OdDbDwgFiler_queryXSwigExplicitOdDbDwgFiler(this.swigCPtr, OdRxClass.getCPtr(protocolClass)) : TD_DbPINVOKE.OdDbDwgFiler_queryX(this.swigCPtr, OdRxClass.getCPtr(protocolClass)), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdDbDwgFiler createObject()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbDwgFiler_createObject();
			OdDbDwgFiler result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void seek(int offset, FilerSeekType seekType)
		{
			TD_DbPINVOKE.OdDbDwgFiler_seek(this.swigCPtr, offset, (int)seekType);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual uint tell()
		{
			uint result = TD_DbPINVOKE.OdDbDwgFiler_tell(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual bool rdBool()
		{
			bool result = TD_DbPINVOKE.OdDbDwgFiler_rdBool(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string rdString()
		{
			string result = TD_DbPINVOKE.OdDbDwgFiler_rdString(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void rdBytes(IntPtr buffer, uint numBytes)
		{
			TD_DbPINVOKE.OdDbDwgFiler_rdBytes(this.swigCPtr, buffer, numBytes);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual sbyte rdInt8()
		{
			sbyte result = TD_DbPINVOKE.OdDbDwgFiler_rdInt8(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual byte rdUInt8()
		{
			byte result = TD_DbPINVOKE.OdDbDwgFiler_rdUInt8(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual short rdInt16()
		{
			short result = TD_DbPINVOKE.OdDbDwgFiler_rdInt16(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual int rdInt32()
		{
			int result = TD_DbPINVOKE.OdDbDwgFiler_rdInt32(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual long rdInt64()
		{
			long result = TD_DbPINVOKE.OdDbDwgFiler_rdInt64(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual IntPtr rdAddress()
		{
			IntPtr result = this.SwigDerivedClassHasMethod("rdAddress", OdDbDwgFiler.swigMethodTypes20) ? TD_DbPINVOKE.OdDbDwgFiler_rdAddressSwigExplicitOdDbDwgFiler(this.swigCPtr) : TD_DbPINVOKE.OdDbDwgFiler_rdAddress(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual double rdDouble()
		{
			double result = TD_DbPINVOKE.OdDbDwgFiler_rdDouble(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbHandle rdDbHandle()
		{
			OdDbHandle result = new OdDbHandle(TD_DbPINVOKE.OdDbDwgFiler_rdDbHandle(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbObjectId rdSoftOwnershipId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbDwgFiler_rdSoftOwnershipId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbObjectId rdHardOwnershipId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbDwgFiler_rdHardOwnershipId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbObjectId rdHardPointerId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbDwgFiler_rdHardPointerId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbObjectId rdSoftPointerId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbDwgFiler_rdSoftPointerId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGePoint2d rdPoint2d()
		{
			OdGePoint2d result = new OdGePoint2d(TD_DbPINVOKE.OdDbDwgFiler_rdPoint2d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGePoint3d rdPoint3d()
		{
			OdGePoint3d result = new OdGePoint3d(TD_DbPINVOKE.OdDbDwgFiler_rdPoint3d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGeVector2d rdVector2d()
		{
			OdGeVector2d result = new OdGeVector2d(TD_DbPINVOKE.OdDbDwgFiler_rdVector2d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGeVector3d rdVector3d()
		{
			OdGeVector3d result = new OdGeVector3d(TD_DbPINVOKE.OdDbDwgFiler_rdVector3d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGeScale3d rdScale3d()
		{
			OdGeScale3d result = new OdGeScale3d(TD_DbPINVOKE.OdDbDwgFiler_rdScale3d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void wrBool(bool value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrBool(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrString(string value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrString(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrBytes(byte[] buffer)
		{
			IntPtr intPtr = Teigha.Core.Helpers.MarshalbyteFixedArray(buffer);
			try
			{
				TD_DbPINVOKE.OdDbDwgFiler_wrBytes(this.swigCPtr, intPtr);
				if (TD_DbPINVOKE.SWIGPendingException.Pending)
				{
					throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
				}
			}
			finally
			{
				Marshal.FreeCoTaskMem(intPtr);
			}
		}

		public virtual void wrInt8(sbyte value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrInt8(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrUInt8(byte value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrUInt8(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrInt16(short value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrInt16(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrInt32(int value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrInt32(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrInt64(long value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrInt64(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrAddress(IntPtr value)
		{
			if (this.SwigDerivedClassHasMethod("wrAddress", OdDbDwgFiler.swigMethodTypes40))
			{
				TD_DbPINVOKE.OdDbDwgFiler_wrAddressSwigExplicitOdDbDwgFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdDbDwgFiler_wrAddress(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrDouble(double value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrDouble(this.swigCPtr, value);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrDbHandle(OdDbHandle value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrDbHandle(this.swigCPtr, OdDbHandle.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrSoftOwnershipId(OdDbObjectId value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrSoftOwnershipId(this.swigCPtr, OdDbObjectId.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrHardOwnershipId(OdDbObjectId value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrHardOwnershipId(this.swigCPtr, OdDbObjectId.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrSoftPointerId(OdDbObjectId value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrSoftPointerId(this.swigCPtr, OdDbObjectId.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrHardPointerId(OdDbObjectId value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrHardPointerId(this.swigCPtr, OdDbObjectId.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrPoint2d(OdGePoint2d value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrPoint2d(this.swigCPtr, OdGePoint2d.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrPoint3d(OdGePoint3d value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrPoint3d(this.swigCPtr, OdGePoint3d.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrVector2d(OdGeVector2d value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrVector2d(this.swigCPtr, OdGeVector2d.getCPtr(value).Handle);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrVector3d(OdGeVector3d value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrVector3d(this.swigCPtr, OdGeVector3d.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void wrScale3d(OdGeScale3d value)
		{
			TD_DbPINVOKE.OdDbDwgFiler_wrScale3d(this.swigCPtr, OdGeScale3d.getCPtr(value));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual bool usesReferences()
		{
			bool result = this.SwigDerivedClassHasMethod("usesReferences", OdDbDwgFiler.swigMethodTypes52) ? TD_DbPINVOKE.OdDbDwgFiler_usesReferencesSwigExplicitOdDbDwgFiler(this.swigCPtr) : TD_DbPINVOKE.OdDbDwgFiler_usesReferences(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void addReference(OdDbObjectId id, ReferenceType rt)
		{
			if (this.SwigDerivedClassHasMethod("addReference", OdDbDwgFiler.swigMethodTypes53))
			{
				TD_DbPINVOKE.OdDbDwgFiler_addReferenceSwigExplicitOdDbDwgFiler(this.swigCPtr, OdDbObjectId.getCPtr(id), (int)rt);
			}
			else
			{
				TD_DbPINVOKE.OdDbDwgFiler_addReference(this.swigCPtr, OdDbObjectId.getCPtr(id), (int)rt);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		private void SwigDirectorConnect()
		{
			if (this.SwigDerivedClassHasMethod("queryX", OdDbDwgFiler.swigMethodTypes0))
			{
				this.swigDelegate0 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_0(this.SwigDirectorqueryX);
			}
			if (this.SwigDerivedClassHasMethod("isA", OdDbDwgFiler.swigMethodTypes1))
			{
				this.swigDelegate1 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_1(this.SwigDirectorisA);
			}
			if (this.SwigDerivedClassHasMethod("filerStatus", OdDbDwgFiler.swigMethodTypes2))
			{
				this.swigDelegate2 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_2(this.SwigDirectorfilerStatus);
			}
			if (this.SwigDerivedClassHasMethod("resetFilerStatus", OdDbDwgFiler.swigMethodTypes3))
			{
				this.swigDelegate3 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_3(this.SwigDirectorresetFilerStatus);
			}
			if (this.SwigDerivedClassHasMethod("filerType", OdDbDwgFiler.swigMethodTypes4))
			{
				this.swigDelegate4 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_4(this.SwigDirectorfilerType);
			}
			if (this.SwigDerivedClassHasMethod("database", OdDbDwgFiler.swigMethodTypes5))
			{
				this.swigDelegate5 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_5(this.SwigDirectordatabase);
			}
			if (this.SwigDerivedClassHasMethod("dwgVersion", OdDbDwgFiler.swigMethodTypes6))
			{
				this.swigDelegate6 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_6(this.SwigDirectordwgVersion__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("dwgVersion", OdDbDwgFiler.swigMethodTypes7))
			{
				this.swigDelegate7 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_7(this.SwigDirectordwgVersion__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setController", OdDbDwgFiler.swigMethodTypes8))
			{
				this.swigDelegate8 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_8(this.SwigDirectorsetController);
			}
			if (this.SwigDerivedClassHasMethod("controller", OdDbDwgFiler.swigMethodTypes9))
			{
				this.swigDelegate9 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_9(this.SwigDirectorcontroller);
			}
			if (this.SwigDerivedClassHasMethod("seek", OdDbDwgFiler.swigMethodTypes10))
			{
				this.swigDelegate10 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_10(this.SwigDirectorseek);
			}
			if (this.SwigDerivedClassHasMethod("tell", OdDbDwgFiler.swigMethodTypes11))
			{
				this.swigDelegate11 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_11(this.SwigDirectortell);
			}
			if (this.SwigDerivedClassHasMethod("rdBool", OdDbDwgFiler.swigMethodTypes12))
			{
				this.swigDelegate12 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_12(this.SwigDirectorrdBool);
			}
			if (this.SwigDerivedClassHasMethod("rdString", OdDbDwgFiler.swigMethodTypes13))
			{
				this.swigDelegate13 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_13(this.SwigDirectorrdString);
			}
			if (this.SwigDerivedClassHasMethod("rdBytes", OdDbDwgFiler.swigMethodTypes14))
			{
				this.swigDelegate14 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_14(this.SwigDirectorrdBytes);
			}
			if (this.SwigDerivedClassHasMethod("rdInt8", OdDbDwgFiler.swigMethodTypes15))
			{
				this.swigDelegate15 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_15(this.SwigDirectorrdInt8);
			}
			if (this.SwigDerivedClassHasMethod("rdUInt8", OdDbDwgFiler.swigMethodTypes16))
			{
				this.swigDelegate16 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_16(this.SwigDirectorrdUInt8);
			}
			if (this.SwigDerivedClassHasMethod("rdInt16", OdDbDwgFiler.swigMethodTypes17))
			{
				this.swigDelegate17 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_17(this.SwigDirectorrdInt16);
			}
			if (this.SwigDerivedClassHasMethod("rdInt32", OdDbDwgFiler.swigMethodTypes18))
			{
				this.swigDelegate18 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_18(this.SwigDirectorrdInt32);
			}
			if (this.SwigDerivedClassHasMethod("rdInt64", OdDbDwgFiler.swigMethodTypes19))
			{
				this.swigDelegate19 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_19(this.SwigDirectorrdInt64);
			}
			if (this.SwigDerivedClassHasMethod("rdAddress", OdDbDwgFiler.swigMethodTypes20))
			{
				this.swigDelegate20 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_20(this.SwigDirectorrdAddress);
			}
			if (this.SwigDerivedClassHasMethod("rdDouble", OdDbDwgFiler.swigMethodTypes21))
			{
				this.swigDelegate21 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_21(this.SwigDirectorrdDouble);
			}
			if (this.SwigDerivedClassHasMethod("rdDbHandle", OdDbDwgFiler.swigMethodTypes22))
			{
				this.swigDelegate22 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_22(this.SwigDirectorrdDbHandle);
			}
			if (this.SwigDerivedClassHasMethod("rdSoftOwnershipId", OdDbDwgFiler.swigMethodTypes23))
			{
				this.swigDelegate23 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_23(this.SwigDirectorrdSoftOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("rdHardOwnershipId", OdDbDwgFiler.swigMethodTypes24))
			{
				this.swigDelegate24 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_24(this.SwigDirectorrdHardOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("rdHardPointerId", OdDbDwgFiler.swigMethodTypes25))
			{
				this.swigDelegate25 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_25(this.SwigDirectorrdHardPointerId);
			}
			if (this.SwigDerivedClassHasMethod("rdSoftPointerId", OdDbDwgFiler.swigMethodTypes26))
			{
				this.swigDelegate26 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_26(this.SwigDirectorrdSoftPointerId);
			}
			if (this.SwigDerivedClassHasMethod("rdPoint2d", OdDbDwgFiler.swigMethodTypes27))
			{
				this.swigDelegate27 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_27(this.SwigDirectorrdPoint2d);
			}
			if (this.SwigDerivedClassHasMethod("rdPoint3d", OdDbDwgFiler.swigMethodTypes28))
			{
				this.swigDelegate28 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_28(this.SwigDirectorrdPoint3d);
			}
			if (this.SwigDerivedClassHasMethod("rdVector2d", OdDbDwgFiler.swigMethodTypes29))
			{
				this.swigDelegate29 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_29(this.SwigDirectorrdVector2d);
			}
			if (this.SwigDerivedClassHasMethod("rdVector3d", OdDbDwgFiler.swigMethodTypes30))
			{
				this.swigDelegate30 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_30(this.SwigDirectorrdVector3d);
			}
			if (this.SwigDerivedClassHasMethod("rdScale3d", OdDbDwgFiler.swigMethodTypes31))
			{
				this.swigDelegate31 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_31(this.SwigDirectorrdScale3d);
			}
			if (this.SwigDerivedClassHasMethod("wrBool", OdDbDwgFiler.swigMethodTypes32))
			{
				this.swigDelegate32 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_32(this.SwigDirectorwrBool);
			}
			if (this.SwigDerivedClassHasMethod("wrString", OdDbDwgFiler.swigMethodTypes33))
			{
				this.swigDelegate33 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_33(this.SwigDirectorwrString);
			}
			if (this.SwigDerivedClassHasMethod("wrBytes", OdDbDwgFiler.swigMethodTypes34))
			{
				this.swigDelegate34 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_34(this.SwigDirectorwrBytes);
			}
			if (this.SwigDerivedClassHasMethod("wrInt8", OdDbDwgFiler.swigMethodTypes35))
			{
				this.swigDelegate35 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_35(this.SwigDirectorwrInt8);
			}
			if (this.SwigDerivedClassHasMethod("wrUInt8", OdDbDwgFiler.swigMethodTypes36))
			{
				this.swigDelegate36 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_36(this.SwigDirectorwrUInt8);
			}
			if (this.SwigDerivedClassHasMethod("wrInt16", OdDbDwgFiler.swigMethodTypes37))
			{
				this.swigDelegate37 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_37(this.SwigDirectorwrInt16);
			}
			if (this.SwigDerivedClassHasMethod("wrInt32", OdDbDwgFiler.swigMethodTypes38))
			{
				this.swigDelegate38 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_38(this.SwigDirectorwrInt32);
			}
			if (this.SwigDerivedClassHasMethod("wrInt64", OdDbDwgFiler.swigMethodTypes39))
			{
				this.swigDelegate39 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_39(this.SwigDirectorwrInt64);
			}
			if (this.SwigDerivedClassHasMethod("wrAddress", OdDbDwgFiler.swigMethodTypes40))
			{
				this.swigDelegate40 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_40(this.SwigDirectorwrAddress);
			}
			if (this.SwigDerivedClassHasMethod("wrDouble", OdDbDwgFiler.swigMethodTypes41))
			{
				this.swigDelegate41 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_41(this.SwigDirectorwrDouble);
			}
			if (this.SwigDerivedClassHasMethod("wrDbHandle", OdDbDwgFiler.swigMethodTypes42))
			{
				this.swigDelegate42 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_42(this.SwigDirectorwrDbHandle);
			}
			if (this.SwigDerivedClassHasMethod("wrSoftOwnershipId", OdDbDwgFiler.swigMethodTypes43))
			{
				this.swigDelegate43 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_43(this.SwigDirectorwrSoftOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("wrHardOwnershipId", OdDbDwgFiler.swigMethodTypes44))
			{
				this.swigDelegate44 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_44(this.SwigDirectorwrHardOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("wrSoftPointerId", OdDbDwgFiler.swigMethodTypes45))
			{
				this.swigDelegate45 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_45(this.SwigDirectorwrSoftPointerId);
			}
			if (this.SwigDerivedClassHasMethod("wrHardPointerId", OdDbDwgFiler.swigMethodTypes46))
			{
				this.swigDelegate46 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_46(this.SwigDirectorwrHardPointerId);
			}
			if (this.SwigDerivedClassHasMethod("wrPoint2d", OdDbDwgFiler.swigMethodTypes47))
			{
				this.swigDelegate47 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_47(this.SwigDirectorwrPoint2d);
			}
			if (this.SwigDerivedClassHasMethod("wrPoint3d", OdDbDwgFiler.swigMethodTypes48))
			{
				this.swigDelegate48 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_48(this.SwigDirectorwrPoint3d);
			}
			if (this.SwigDerivedClassHasMethod("wrVector2d", OdDbDwgFiler.swigMethodTypes49))
			{
				this.swigDelegate49 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_49(this.SwigDirectorwrVector2d);
			}
			if (this.SwigDerivedClassHasMethod("wrVector3d", OdDbDwgFiler.swigMethodTypes50))
			{
				this.swigDelegate50 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_50(this.SwigDirectorwrVector3d);
			}
			if (this.SwigDerivedClassHasMethod("wrScale3d", OdDbDwgFiler.swigMethodTypes51))
			{
				this.swigDelegate51 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_51(this.SwigDirectorwrScale3d);
			}
			if (this.SwigDerivedClassHasMethod("usesReferences", OdDbDwgFiler.swigMethodTypes52))
			{
				this.swigDelegate52 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_52(this.SwigDirectorusesReferences);
			}
			if (this.SwigDerivedClassHasMethod("addReference", OdDbDwgFiler.swigMethodTypes53))
			{
				this.swigDelegate53 = new OdDbDwgFiler.SwigDelegateOdDbDwgFiler_53(this.SwigDirectoraddReference);
			}
			TD_DbPINVOKE.OdDbDwgFiler_director_connect(this.swigCPtr, this.swigDelegate0, this.swigDelegate1, this.swigDelegate2, this.swigDelegate3, this.swigDelegate4, this.swigDelegate5, this.swigDelegate6, this.swigDelegate7, this.swigDelegate8, this.swigDelegate9, this.swigDelegate10, this.swigDelegate11, this.swigDelegate12, this.swigDelegate13, this.swigDelegate14, this.swigDelegate15, this.swigDelegate16, this.swigDelegate17, this.swigDelegate18, this.swigDelegate19, this.swigDelegate20, this.swigDelegate21, this.swigDelegate22, this.swigDelegate23, this.swigDelegate24, this.swigDelegate25, this.swigDelegate26, this.swigDelegate27, this.swigDelegate28, this.swigDelegate29, this.swigDelegate30, this.swigDelegate31, this.swigDelegate32, this.swigDelegate33, this.swigDelegate34, this.swigDelegate35, this.swigDelegate36, this.swigDelegate37, this.swigDelegate38, this.swigDelegate39, this.swigDelegate40, this.swigDelegate41, this.swigDelegate42, this.swigDelegate43, this.swigDelegate44, this.swigDelegate45, this.swigDelegate46, this.swigDelegate47, this.swigDelegate48, this.swigDelegate49, this.swigDelegate50, this.swigDelegate51, this.swigDelegate52, this.swigDelegate53);
		}

		private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes)
		{
			MethodInfo method = base.GetType().GetMethod(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, methodTypes, null);
			return method.DeclaringType.IsSubclassOf(typeof(OdDbDwgFiler));
		}

		private IntPtr SwigDirectorqueryX(IntPtr protocolClass)
		{
			return OdRxObject.getCPtr(this.queryX((OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(protocolClass, false))).Handle;
		}

		private IntPtr SwigDirectorisA()
		{
			return OdRxClass.getCPtr(this.isA()).Handle;
		}

		private int SwigDirectorfilerStatus()
		{
			return (int)this.filerStatus();
		}

		private void SwigDirectorresetFilerStatus()
		{
			this.resetFilerStatus();
		}

		private int SwigDirectorfilerType()
		{
			return (int)this.filerType();
		}

		private IntPtr SwigDirectordatabase()
		{
			return OdDbDatabase.getCPtr(this.database()).Handle;
		}

		private int SwigDirectordwgVersion__SWIG_0(MaintReleaseVer pMaintReleaseVer)
		{
			return (int)this.dwgVersion(out pMaintReleaseVer);
		}

		private int SwigDirectordwgVersion__SWIG_1()
		{
			return (int)this.dwgVersion();
		}

		private void SwigDirectorsetController(IntPtr pFilerController)
		{
			this.setController((pFilerController == IntPtr.Zero) ? null : new OdDbFilerController(pFilerController, false));
		}

		private IntPtr SwigDirectorcontroller()
		{
			return OdDbFilerController.getCPtr(this.controller()).Handle;
		}

		private void SwigDirectorseek(int offset, int seekType)
		{
			this.seek(offset, (FilerSeekType)seekType);
		}

		private uint SwigDirectortell()
		{
			return this.tell();
		}

		private bool SwigDirectorrdBool()
		{
			return this.rdBool();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorrdString()
		{
			return this.rdString();
		}

		private void SwigDirectorrdBytes(IntPtr buffer, uint numBytes)
		{
			this.rdBytes(buffer, numBytes);
		}

		private sbyte SwigDirectorrdInt8()
		{
			return this.rdInt8();
		}

		private byte SwigDirectorrdUInt8()
		{
			return this.rdUInt8();
		}

		private short SwigDirectorrdInt16()
		{
			return this.rdInt16();
		}

		private int SwigDirectorrdInt32()
		{
			return this.rdInt32();
		}

		private long SwigDirectorrdInt64()
		{
			return this.rdInt64();
		}

		private IntPtr SwigDirectorrdAddress()
		{
			return this.rdAddress();
		}

		private double SwigDirectorrdDouble()
		{
			return this.rdDouble();
		}

		private IntPtr SwigDirectorrdDbHandle()
		{
			return OdDbHandle.getCPtr(this.rdDbHandle()).Handle;
		}

		private IntPtr SwigDirectorrdSoftOwnershipId()
		{
			return OdDbObjectId.getCPtr(this.rdSoftOwnershipId()).Handle;
		}

		private IntPtr SwigDirectorrdHardOwnershipId()
		{
			return OdDbObjectId.getCPtr(this.rdHardOwnershipId()).Handle;
		}

		private IntPtr SwigDirectorrdHardPointerId()
		{
			return OdDbObjectId.getCPtr(this.rdHardPointerId()).Handle;
		}

		private IntPtr SwigDirectorrdSoftPointerId()
		{
			return OdDbObjectId.getCPtr(this.rdSoftPointerId()).Handle;
		}

		private IntPtr SwigDirectorrdPoint2d()
		{
			return OdGePoint2d.getCPtr(this.rdPoint2d()).Handle;
		}

		private IntPtr SwigDirectorrdPoint3d()
		{
			return OdGePoint3d.getCPtr(this.rdPoint3d()).Handle;
		}

		private IntPtr SwigDirectorrdVector2d()
		{
			return OdGeVector2d.getCPtr(this.rdVector2d()).Handle;
		}

		private IntPtr SwigDirectorrdVector3d()
		{
			return OdGeVector3d.getCPtr(this.rdVector3d()).Handle;
		}

		private IntPtr SwigDirectorrdScale3d()
		{
			return OdGeScale3d.getCPtr(this.rdScale3d()).Handle;
		}

		private void SwigDirectorwrBool(bool value)
		{
			this.wrBool(value);
		}

		private void SwigDirectorwrString([MarshalAs(UnmanagedType.LPWStr)] string value)
		{
			this.wrString(value);
		}

		private void SwigDirectorwrBytes(IntPtr buffer)
		{
			this.wrBytes(Teigha.Core.Helpers.UnMarshalbyteFixedArray(buffer));
		}

		private void SwigDirectorwrInt8(sbyte value)
		{
			this.wrInt8(value);
		}

		private void SwigDirectorwrUInt8(byte value)
		{
			this.wrUInt8(value);
		}

		private void SwigDirectorwrInt16(short value)
		{
			this.wrInt16(value);
		}

		private void SwigDirectorwrInt32(int value)
		{
			this.wrInt32(value);
		}

		private void SwigDirectorwrInt64(long value)
		{
			this.wrInt64(value);
		}

		private void SwigDirectorwrAddress(IntPtr value)
		{
			this.wrAddress(value);
		}

		private void SwigDirectorwrDouble(double value)
		{
			this.wrDouble(value);
		}

		private void SwigDirectorwrDbHandle(IntPtr value)
		{
			this.wrDbHandle(new OdDbHandle(value, false));
		}

		private void SwigDirectorwrSoftOwnershipId(IntPtr value)
		{
			this.wrSoftOwnershipId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrHardOwnershipId(IntPtr value)
		{
			this.wrHardOwnershipId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrSoftPointerId(IntPtr value)
		{
			this.wrSoftPointerId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrHardPointerId(IntPtr value)
		{
			this.wrHardPointerId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrPoint2d(IntPtr value)
		{
			this.wrPoint2d(new OdGePoint2d(value, false));
		}

		private void SwigDirectorwrPoint3d(IntPtr value)
		{
			this.wrPoint3d(new OdGePoint3d(value, false));
		}

		private void SwigDirectorwrVector2d(IntPtr value)
		{
			this.wrVector2d(new OdGeVector2d(value, true));
		}

		private void SwigDirectorwrVector3d(IntPtr value)
		{
			this.wrVector3d(new OdGeVector3d(value, false));
		}

		private void SwigDirectorwrScale3d(IntPtr value)
		{
			this.wrScale3d(new OdGeScale3d(value, false));
		}

		private bool SwigDirectorusesReferences()
		{
			return this.usesReferences();
		}

		private void SwigDirectoraddReference(IntPtr id, int rt)
		{
			this.addReference(new OdDbObjectId(id, false), (ReferenceType)rt);
		}

		private object locker = new object();

		private HandleRef swigCPtr;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_0 swigDelegate0;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_1 swigDelegate1;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_2 swigDelegate2;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_3 swigDelegate3;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_4 swigDelegate4;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_5 swigDelegate5;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_6 swigDelegate6;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_7 swigDelegate7;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_8 swigDelegate8;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_9 swigDelegate9;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_10 swigDelegate10;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_11 swigDelegate11;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_12 swigDelegate12;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_13 swigDelegate13;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_14 swigDelegate14;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_15 swigDelegate15;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_16 swigDelegate16;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_17 swigDelegate17;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_18 swigDelegate18;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_19 swigDelegate19;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_20 swigDelegate20;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_21 swigDelegate21;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_22 swigDelegate22;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_23 swigDelegate23;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_24 swigDelegate24;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_25 swigDelegate25;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_26 swigDelegate26;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_27 swigDelegate27;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_28 swigDelegate28;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_29 swigDelegate29;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_30 swigDelegate30;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_31 swigDelegate31;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_32 swigDelegate32;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_33 swigDelegate33;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_34 swigDelegate34;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_35 swigDelegate35;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_36 swigDelegate36;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_37 swigDelegate37;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_38 swigDelegate38;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_39 swigDelegate39;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_40 swigDelegate40;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_41 swigDelegate41;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_42 swigDelegate42;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_43 swigDelegate43;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_44 swigDelegate44;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_45 swigDelegate45;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_46 swigDelegate46;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_47 swigDelegate47;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_48 swigDelegate48;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_49 swigDelegate49;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_50 swigDelegate50;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_51 swigDelegate51;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_52 swigDelegate52;

		private OdDbDwgFiler.SwigDelegateOdDbDwgFiler_53 swigDelegate53;

		private static Type[] swigMethodTypes0 = new Type[]
		{
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes1 = new Type[0];

		private static Type[] swigMethodTypes2 = new Type[0];

		private static Type[] swigMethodTypes3 = new Type[0];

		private static Type[] swigMethodTypes4 = new Type[0];

		private static Type[] swigMethodTypes5 = new Type[0];

		private static Type[] swigMethodTypes6 = new Type[]
		{
			typeof(MaintReleaseVer).MakeByRefType()
		};

		private static Type[] swigMethodTypes7 = new Type[0];

		private static Type[] swigMethodTypes8 = new Type[]
		{
			typeof(OdDbFilerController)
		};

		private static Type[] swigMethodTypes9 = new Type[0];

		private static Type[] swigMethodTypes10 = new Type[]
		{
			typeof(int),
			typeof(FilerSeekType)
		};

		private static Type[] swigMethodTypes11 = new Type[0];

		private static Type[] swigMethodTypes12 = new Type[0];

		private static Type[] swigMethodTypes13 = new Type[0];

		private static Type[] swigMethodTypes14 = new Type[]
		{
			typeof(IntPtr),
			typeof(uint)
		};

		private static Type[] swigMethodTypes15 = new Type[0];

		private static Type[] swigMethodTypes16 = new Type[0];

		private static Type[] swigMethodTypes17 = new Type[0];

		private static Type[] swigMethodTypes18 = new Type[0];

		private static Type[] swigMethodTypes19 = new Type[0];

		private static Type[] swigMethodTypes20 = new Type[0];

		private static Type[] swigMethodTypes21 = new Type[0];

		private static Type[] swigMethodTypes22 = new Type[0];

		private static Type[] swigMethodTypes23 = new Type[0];

		private static Type[] swigMethodTypes24 = new Type[0];

		private static Type[] swigMethodTypes25 = new Type[0];

		private static Type[] swigMethodTypes26 = new Type[0];

		private static Type[] swigMethodTypes27 = new Type[0];

		private static Type[] swigMethodTypes28 = new Type[0];

		private static Type[] swigMethodTypes29 = new Type[0];

		private static Type[] swigMethodTypes30 = new Type[0];

		private static Type[] swigMethodTypes31 = new Type[0];

		private static Type[] swigMethodTypes32 = new Type[]
		{
			typeof(bool)
		};

		private static Type[] swigMethodTypes33 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes34 = new Type[]
		{
			typeof(byte[])
		};

		private static Type[] swigMethodTypes35 = new Type[]
		{
			typeof(sbyte)
		};

		private static Type[] swigMethodTypes36 = new Type[]
		{
			typeof(byte)
		};

		private static Type[] swigMethodTypes37 = new Type[]
		{
			typeof(short)
		};

		private static Type[] swigMethodTypes38 = new Type[]
		{
			typeof(int)
		};

		private static Type[] swigMethodTypes39 = new Type[]
		{
			typeof(long)
		};

		private static Type[] swigMethodTypes40 = new Type[]
		{
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes41 = new Type[]
		{
			typeof(double)
		};

		private static Type[] swigMethodTypes42 = new Type[]
		{
			typeof(OdDbHandle)
		};

		private static Type[] swigMethodTypes43 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes44 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes45 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes46 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes47 = new Type[]
		{
			typeof(OdGePoint2d)
		};

		private static Type[] swigMethodTypes48 = new Type[]
		{
			typeof(OdGePoint3d)
		};

		private static Type[] swigMethodTypes49 = new Type[]
		{
			typeof(OdGeVector2d)
		};

		private static Type[] swigMethodTypes50 = new Type[]
		{
			typeof(OdGeVector3d)
		};

		private static Type[] swigMethodTypes51 = new Type[]
		{
			typeof(OdGeScale3d)
		};

		private static Type[] swigMethodTypes52 = new Type[0];

		private static Type[] swigMethodTypes53 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(ReferenceType)
		};

		public delegate IntPtr SwigDelegateOdDbDwgFiler_0(IntPtr protocolClass);

		public delegate IntPtr SwigDelegateOdDbDwgFiler_1();

		public delegate int SwigDelegateOdDbDwgFiler_2();

		public delegate void SwigDelegateOdDbDwgFiler_3();

		public delegate int SwigDelegateOdDbDwgFiler_4();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_5();

		public delegate int SwigDelegateOdDbDwgFiler_6(MaintReleaseVer pMaintReleaseVer);

		public delegate int SwigDelegateOdDbDwgFiler_7();

		public delegate void SwigDelegateOdDbDwgFiler_8(IntPtr pFilerController);

		public delegate IntPtr SwigDelegateOdDbDwgFiler_9();

		public delegate void SwigDelegateOdDbDwgFiler_10(int offset, int seekType);

		public delegate uint SwigDelegateOdDbDwgFiler_11();

		public delegate bool SwigDelegateOdDbDwgFiler_12();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbDwgFiler_13();

		public delegate void SwigDelegateOdDbDwgFiler_14(IntPtr buffer, uint numBytes);

		public delegate sbyte SwigDelegateOdDbDwgFiler_15();

		public delegate byte SwigDelegateOdDbDwgFiler_16();

		public delegate short SwigDelegateOdDbDwgFiler_17();

		public delegate int SwigDelegateOdDbDwgFiler_18();

		public delegate long SwigDelegateOdDbDwgFiler_19();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_20();

		public delegate double SwigDelegateOdDbDwgFiler_21();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_22();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_23();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_24();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_25();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_26();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_27();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_28();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_29();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_30();

		public delegate IntPtr SwigDelegateOdDbDwgFiler_31();

		public delegate void SwigDelegateOdDbDwgFiler_32(bool value);

		public delegate void SwigDelegateOdDbDwgFiler_33([MarshalAs(UnmanagedType.LPWStr)] string value);

		public delegate void SwigDelegateOdDbDwgFiler_34(IntPtr buffer);

		public delegate void SwigDelegateOdDbDwgFiler_35(sbyte value);

		public delegate void SwigDelegateOdDbDwgFiler_36(byte value);

		public delegate void SwigDelegateOdDbDwgFiler_37(short value);

		public delegate void SwigDelegateOdDbDwgFiler_38(int value);

		public delegate void SwigDelegateOdDbDwgFiler_39(long value);

		public delegate void SwigDelegateOdDbDwgFiler_40(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_41(double value);

		public delegate void SwigDelegateOdDbDwgFiler_42(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_43(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_44(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_45(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_46(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_47(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_48(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_49(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_50(IntPtr value);

		public delegate void SwigDelegateOdDbDwgFiler_51(IntPtr value);

		public delegate bool SwigDelegateOdDbDwgFiler_52();

		public delegate void SwigDelegateOdDbDwgFiler_53(IntPtr id, int rt);
	}
}
